Skip to content

Update WindowsPort.md as per #129 and other advisories #130

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

citkane
Copy link

@citkane citkane commented Aug 5, 2025

  • Make users aware that cloning into a parent git repository can cause failure.
  • Make users aware that having "C++ Clang Tools for Windows" installed may cause build failure and offer a workaround in the Webkit Command Prompt script.
  • As per Windows port documentation errata for choco install cmake #129, choco installs Cmake 4+ by default since ~March 2025. This causes downstream issues with vcpkg woff2. Use Cmake 3.23 instead.
  • Add option to set ccmake for pch in the Webkit Command Prompt

citkane added 2 commits August 5, 2025 13:45
- Make users aware that shallow cloning of the WebKit repo will cause failure
- Make users aware that "C++ Clang Tools for Windows" will cause build failure and offer workaround in the Webkit Command Prompt script.
- Add option to set ccmake for pch in the Webkit Command Prompt
@citkane citkane changed the title Update WindowsPort.md as per #129 Update WindowsPort.md as per #129 and other advisories Aug 12, 2025
Copy link

@donny-dont donny-dont left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good just some follow ups for you and we can squash and land


Install CMake, Perl, Python, Ruby, gperf \([GnuWin32 Gperf](https://gnuwin32.sourceforge.net/packages/gperf.htm)\), LLVM, and Ninja.
Python 3.12 has [a problem for WebKit at the moment](https://webkit.org/b/261113). Use Python 3.11.
- Python 3.12 has [a problem for WebKit at the moment](https://webkit.org/b/261113). Use Python 3.11.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m not 100% sure this is still an issue and I’m not sure if Python 3.13 is good to use. Might be worth verifying this.

Copy link
Author

@citkane citkane Aug 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Python 3.13 (latest choco) compiles WebKit for me with the following caveates:

  • I did not flush ccache or __pycache__
  • I am not building or running any tests
  • I am only building Release

While choco install python311 works, it is no longer on the Chocolately package list. I don't really understand the underlying issue at a low level to make a call on this, but maybe the documentation should advise to do choco install python --version=3.11.x only if problems are experienced?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m not sure if that works because you can have multiple python versions installed

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iangrunert any thoughts on this?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm using Python 3.12 and haven't ran into issues as of yet.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From CMake configure: -- Found Python: C:/Python313/python.exe (found version "3.13.6") found components: Interpreter

I think this is hard-coded somewhere obfuscated to PATH. I tried setting the PYTHON env variable to something else from the WebKit shell script, and it got overwritten. Chocolately should however fix PATH to whatever version is installed last, even though multiple version remain on disk.

Let me know if we are good with 3.13.x. If so, we can just document python for choco install.


Install CMake, Perl, Python, Ruby, gperf \([GnuWin32 Gperf](https://gnuwin32.sourceforge.net/packages/gperf.htm)\), LLVM, and Ninja.
Python 3.12 has [a problem for WebKit at the moment](https://webkit.org/b/261113). Use Python 3.11.
- Python 3.12 has [a problem for WebKit at the moment](https://webkit.org/b/261113). Use Python 3.11.
- Cmake 4+ has [a dowstream problem for vcpkg woff2 at the moment](https://github.com/WebKit/Documentation/issues/129). Use Cmake 3.31.8.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Think we just want to say the latest CMake 3.x version to future proof this.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See revised

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a complete nit but it’s CMake not Cmake

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I share similar afflictions. Updated to CMake.


You can use [Chocolatey](https://community.chocolatey.org/) to install the tools.
[ActivePerl chocolatey package](https://community.chocolatey.org/packages/ActivePerl) has a problem and no package maintainer now.
XAMPP includes Perl, and running layout tests needs XAMPP. Install XAMPP instead.

```
choco install -y xampp-81 python311 ruby git cmake gperf llvm ninja
choco install -y xampp-81 python311 ruby git gperf llvm ninja
choco install -y cmake --version=3.31.8

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need a choco pin command with this so when someone upgrades they don’t end up with CMake 4. Ideally the version could be <4.0.0 so if there is another 3.x release it’ll upgrade.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See revised

Copy link

@donny-dont donny-dont left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iangrunert any other suggestions for this?

# Use the latest 3.x version of cmake available
choco search -e cmake -a
choco install -y cmake --version=3.x.x
choco pin add -n=cmake

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m not chocolatey expert would this work if a new 3.x.x is released and update is called?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that pin means pin, but we can be more helpful with the message (see update)


Install CMake, Perl, Python, Ruby, gperf \([GnuWin32 Gperf](https://gnuwin32.sourceforge.net/packages/gperf.htm)\), LLVM, and Ninja.
Python 3.12 has [a problem for WebKit at the moment](https://webkit.org/b/261113). Use Python 3.11.
- Python 3.12+ potentially has [a problem for WebKit in some contexts](https://webkit.org/b/261113). Use Python 3.11.x if you experience issues.
- CMake 4+ has [a dowstream problem for vcpkg woff2 at the moment](https://github.com/WebKit/Documentation/issues/129). Use CMake 3.x.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missed the typo for downstream

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants